package com.tencent.sr.iris.basic.saas.service.dependency;

import com.tencent.sr.iris.activity.interfaces.client.task.IrisGroupTaskBoardClient;
import com.tencent.sr.iris.activity.interfaces.request.group.AdvisorGroupTaskRequest;
import com.tencent.sr.iris.activity.interfaces.request.group.AdvisorGroupTaskSecondRequest;
import com.tencent.sr.iris.activity.interfaces.request.group.AdvisorGroupTaskThirdRequest;
import com.tencent.sr.iris.activity.interfaces.request.group.GroupTaskRequest;
import com.tencent.sr.iris.activity.interfaces.request.group.GroupTaskSecondRequest;
import com.tencent.sr.iris.activity.interfaces.response.group.*;
import com.tencent.sr.iris.activity.interfaces.response.group.operate.OperateSecondBoardResponse;
import com.tencent.sr.rmall.common.request.PaginationRequest;
import com.tencent.sr.rmall.common.response.PaginationResponse;
import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;


@Component
@Slf4j
public class IrisGroupTaskBoardDependency {

    @Resource
    private IrisGroupTaskBoardClient groupTaskBoardClient;

    public PaginationResponse<GroupTaskBoardResponse> groupTaskBoardExport(
            PaginationRequest<GroupTaskRequest> request) {
        return groupTaskBoardClient.queryGroupTaskBoard(request).getData();
    }

    public PaginationResponse<GroupTaskBoardSecondResponse> groupTaskSecondBoardExport(
            PaginationRequest<GroupTaskSecondRequest> request) {
        return groupTaskBoardClient.queryGroupSecondTaskBoard(request).getData();
    }

    public PaginationResponse<GroupTaskBoardSecondResponse> groupTaskSecondBoardInviteExport(
            PaginationRequest<GroupTaskSecondRequest> request) {
        return groupTaskBoardClient.queryGroupSecondTaskBoard(request).getData();
    }

    public PaginationResponse<GroupTaskBoardSecondResponse> groupTaskSecondBoardFirstOrderExport(
            PaginationRequest<GroupTaskSecondRequest> request) {
        return groupTaskBoardClient.queryGroupSecondTaskBoard(request).getData();
    }

    public PaginationResponse<GroupTaskBoardSecondResponse> groupTaskSecondBoardSprintExport(
            PaginationRequest<GroupTaskSecondRequest> request) {
        return groupTaskBoardClient.queryGroupSecondTaskBoard(request).getData();
    }

    public PaginationResponse<GroupNormalTaskSecondResponse> groupTaskSecondBoardNormalExport(
            PaginationRequest<GroupTaskSecondRequest> request) {
        return groupTaskBoardClient.queryGroupTaskSecondBoardNormal(request).getData();
    }

    public PaginationResponse<GroupTaskBoardSecondResponse> queryGroupTaskSecondBoardRankExport(
            PaginationRequest<GroupTaskSecondRequest> request) {
        return groupTaskBoardClient.queryGroupSecondTaskBoard(request).getData();
    }

    public PaginationResponse<AdvisorBoardResponse> advisorBoardExport(
            PaginationRequest<AdvisorGroupTaskRequest> request) {
        return groupTaskBoardClient.queryAdvisorBoard(request).getData();
    }

    public GroupTaskPaginationResponse<OperateSecondBoardResponse> advisorSecondBoardExport(
            PaginationRequest<AdvisorGroupTaskSecondRequest> request) {
        return groupTaskBoardClient.queryAdvisorSecondBoard(request).getData();
    }

    public PaginationResponse<AdvisorBoardInviteSecondResponse> advisorSecondBoardInviteExport(
            PaginationRequest<AdvisorGroupTaskSecondRequest> request) {
        return groupTaskBoardClient.queryAdvisorSecondBoardInvite(request).getData();
    }

    public PaginationResponse<AdvisorBoardFirstOrderSecondResponse> advisorSecondBoardFirstOrderExport(
            PaginationRequest<AdvisorGroupTaskSecondRequest> request) {
        return groupTaskBoardClient.queryAdvisorSecondBoardFirstOrder(request).getData();
    }

    public GroupTaskPaginationResponse<AdvisorBoardSprintSecondResponse> advisorSecondBoardSprintExport(
            PaginationRequest<AdvisorGroupTaskSecondRequest> request) {
        return groupTaskBoardClient.queryAdvisorSecondBoardSprint(request).getData();
    }

    public PaginationResponse<AdvisorBoardCommissionSecondResponse> queryAdvisorSecondBoardCommission(
            PaginationRequest<AdvisorGroupTaskSecondRequest> request) {
        return groupTaskBoardClient.queryAdvisorSecondBoardCommission(request).getData();
    }

    public  PaginationResponse<AdvisorNormalTaskSecondResponse> queryAdvisorSecondBoardNormal(
            @RequestBody @Validated PaginationRequest<AdvisorGroupTaskSecondRequest> request) {
        return groupTaskBoardClient.queryAdvisorSecondBoardNormal(request).getData();
    }

    public PaginationResponse<AdvisorBoardRankSecondResponse> queryAdvisorSecondBoardRank(
            PaginationRequest<AdvisorGroupTaskSecondRequest> request) {
        return groupTaskBoardClient.queryAdvisorSecondBoardRank(request).getData();
    }

    public PaginationResponse<GroupTaskBoardSecondResponse> advisorThirdBoardInviteExport(
            PaginationRequest<AdvisorGroupTaskThirdRequest> request) {
        return groupTaskBoardClient.queryAdvisorThirdBoardInvite(request).getData();
    }

    public PaginationResponse<GroupTaskBoardSecondResponse> advisorThirdBoardFirstOrderExport(
            PaginationRequest<AdvisorGroupTaskThirdRequest> request) {
        return groupTaskBoardClient.queryAdvisorThirdBoardFirstOrder(request).getData();
    }

    public PaginationResponse<GroupTaskBoardSecondResponse> advisorThirdBoardSprintExport(
            PaginationRequest<AdvisorGroupTaskThirdRequest> request) {
        return groupTaskBoardClient.queryAdvisorThirdBoardSprint(request).getData();
    }

    public PaginationResponse<AdvisorBoardCommissionThirdResponse> queryAdvisorThirdBoardCommission(
            PaginationRequest<AdvisorGroupTaskThirdRequest> request) {
        return groupTaskBoardClient.queryAdvisorThirdBoardCommission(request).getData();
    }

    public PaginationResponse<GroupNormalTaskSecondResponse> queryAdvisorThirdBoardNormal(
            PaginationRequest<AdvisorGroupTaskThirdRequest> request) {
        return groupTaskBoardClient.queryAdvisorThirdBoardNormal(request).getData();
    }

    public PaginationResponse<GroupTaskBoardSecondResponse> queryAdvisorThirdBoardRank(
            PaginationRequest<AdvisorGroupTaskThirdRequest> request) {
        return groupTaskBoardClient.queryAdvisorThirdBoardRank(request).getData();
    }

    public PaginationResponse<GroupTaskBoardSecondResponse> queryAdvisorThirdBoard(
            PaginationRequest<AdvisorGroupTaskThirdRequest> request) {
        return groupTaskBoardClient.queryAdvisorThirdBoard(request).getData();
    }

}
